package cn.aws360.boot.wechat.biz.service;

import cn.aws360.boot.data.api.pojo.request.PageQuery;
import cn.aws360.boot.data.api.pojo.response.PageResult;
import cn.aws360.boot.wechat.api.pojo.request.WxmAppQuery;
import cn.aws360.boot.wechat.api.pojo.request.WxmAppWrite;
import cn.aws360.boot.wechat.api.pojo.response.WxmAppModel;
import cn.aws360.boot.wechat.biz.domain.WxmApp;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @author junnan
 */
public interface WxmAppService extends IService<WxmApp> {

    /**
     * 新增应用
     *
     * @param wxmAppWrite 新增应用参数
     * @return 是否成功
     */
    Boolean add(WxmAppWrite wxmAppWrite);

    /**
     * 修改应用
     *
     * @param wxmAppWrite 修改应用参数
     * @return 是否成功
     */
    Boolean edit(WxmAppWrite wxmAppWrite);

    /**
     * 删除应用
     *
     * @param ids 删除应用 ids
     * @return 是否成功
     */
    Boolean remove(String ids);

    /**
     * 查询应用详情
     *
     * @param id 查询应用 id
     * @return WxAppModel
     */
    WxmAppModel detail(Integer id);

    /**
     * 查询应用列表
     *
     * @param wxmAppQuery 查询应用参数
     * @return List<WxAppModel>
     */
    List<WxmAppModel> findList(WxmAppQuery wxmAppQuery);

    /**
     * 查询应用分页
     *
     * @param wxmAppQuery 查询应用参数
     * @param pageQuery   查询分页参数
     * @return PageResult<WxAppModel>
     */
    PageResult<WxmAppModel> findPage(WxmAppQuery wxmAppQuery, PageQuery pageQuery);

}
